Program selection mechanism governed by rate of program consumption

ABSTRACT

Improved methods and arrangements are provided for use in: selecting candidate television and multimedia programs for recording; recording the candidate programs; viewing the recorded programs; and archiving the recorded programs. At the center of this capability is a time-dependent content buffering arrangement that allows candidate programs to be selected by an intelligent content agent, with the assistance of a bubbling agent, an electronic program guide, a select library listing, and/or a personal profile associated with a particular user. According to one feature, a rate at which a viewer consumes programs determines a degree of selectivity by which candidate programs are selected.

This application is a divisional of Ser. No. 09/557,047, filed on Apr. 21, 2000, entitled “Methods and Arrangements for Providing a Novel Television and Multimedia Viewing Paradigm,” naming David J. Marsh as sole inventor. This application is incorporated herein by reference in its entirety.

TECHNICAL FIELD

This invention relates to computers and software, and more particularly to methods and arrangements for providing a novel television and multimedia viewing paradigm that includes selectively identifying televised information by content, selectively storing televised information, and/or selectively viewing televised information.

BACKGROUND

Given the recent proliferation of television (TV) channels, viewers are quickly migrating towards the use of Electronic Program Guides (EPGs) with the hope of narrowing the list of available channels/programs somewhat. An EPG typically provides information about the content of the programs on each channel and transmission times. Thus, the viewer is allowed to select between channels and programs to fit their needs.

Certain programs, however, may be televised at a time that conflicts with the viewer's own schedule, or with the broadcasting of another program of interest. When this occurs, viewers may choose to videotape or otherwise record the desired program and view it at a later, more convenient time. To accomplish this recording task, viewers need to be able to properly configure the recording device, be it a videocassette recorder (VCR) or videodisc recorder. This typically requires identifying the channel, the program to be recorded and/or the time period for recording the channel. Many improvements have been made to the recording devices and the broadcasting devices to further simplify this recording task.

There is currently a move towards a more personalized television environment in which viewers are allowed to view selected programming on demand. Set top boxes (e.g., computers) are being developed that support this type of enhanced viewing capability.

Current implementations, such as, for example, TiVo, available from TiVo Inc. of San Jose, allow the viewer to record TV programs, rewind and fast forward like a VCR. However, since these set-top boxes store the recorded programming as digital data on a hard disk drive, there are other features provided to further enhance the viewer's control. By way of example, the set-top box can be programmed to automatically record the program being watched, thereby making it possible to pause the program, view the program frame by frame in slow-motion, or provide for an instant replay capability. These set top boxes can further be programmed to record selected programs based on their titles as listed in the EPG. Thus, selected episodes can be recorded regardless of the actual broadcast time. Additionally, these set-top boxes provide a user interface through which the user is able to select recorded programs to view on demand.

Unfortunately, these conventional devices tend to be relatively unsophisticated in that they only record user definable programs and/or service provider suggested channels. Moreover, these devices employ circular buffering techniques, wherein programs are recorded to a hard drive, stored for a specified period of time, and then erased (viewed or not) to make room for a later recorded program.

Consequently, it would be useful to have more intelligent and more robust methods and arrangements for recording television programs and other broadcast multimedia content programs.

SUMMARY

Improved methods and arrangements are provided for automatically/intelligently identifying televised information by content. The methods and arrangements allow for selective recording, storage and manipulation of televised information and/or multimedia information. The methods and arrangements also allow for selected portions of the recorded information to be displayed, transported or otherwise output. Thus, in accordance with certain aspects a novel content-viewing paradigm is provided.

The above stated needs and others are met, for example, by a method that includes automatically selecting a candidate program to be recorded, recording content associated with the selected candidate program, and selectively identifying the recorded content within a time-dependent buffer arrangement. In certain implementations, this includes scanning an electronic program guide (EPG) based on definable user selection criteria to identify the candidate program. Different definable user selection criteria can be maintained for a plurality of users. The method may also include monitoring user activities associated with the recorded content, and modifying the definable user selection criteria based on the monitored user activities. The method may further include recording a plurality of programs within the time-dependent buffer arrangement in an initial time-ordered sequence, and selectively rearranging one or more of them to produce a modified time-ordered sequence within the time-dependent buffer arrangement. This rearrangement can be manually controlled by the user, or may be automatically conducted, for example, based on a comparison of the recorded content with at least a portion of the definable user selection criteria. The method may further include selectively identifying the recorded content within the time-dependent buffer arrangement with a permanent storage buffer arrangement.

According to another exemplary feature, a rate at which a viewer consumes programs determines a degree of selectivity by which candidate programs are selected.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the various methods and arrangements of the present invention may be had by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:

FIG. 1 is a block diagram depicting an exemplary computer.

FIG. 2 is a block diagram depicting a media system having a set-top box computer appliance.

FIG. 3 is an illustrative flowchart graphically depicting the operation of an exemplary set-top box computer appliance, as in FIG. 2.

DETAILED DESCRIPTION

The following sections describe an exemplary general-purpose computer and further exemplary implementations of a set-top box computer appliance within a media system. It should be understood that the various methods and arrangements described herein are not limited to these particular computers, appliances, or systems, but are adaptable to any arrangement of mechanisms that is capable of performing the applicable exemplary functions described herein.

With this in mind, as shown in FIG. 1, computer 20 includes one or more processors or processing units 21, a system memory 22, and a bus 23 that couples various system components including the system memory 22 to processors 21. Bus 23 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.

The system memory includes read only memory (ROM) 24 and random access memory (RAM) 25. A basic input/output system (BIOS) 26, containing the basic routines that help to transfer information between elements within computer 20, such as during start-up, is stored in ROM 24.

Computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from and writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM, DVD ROM or other optical media. The hard disk drive 27, magnetic disk drive 28 and optical disk drive 30 are each connected to bus 23 by applicable interfaces 32, 33 and 34, respectively.

The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for computer 20. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 29 and a removable optical disk 31, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, random access memories (RAMs) read only memories (ROM), and the like, may also be used in the exemplary operating environment.

A number of program modules may be stored on the hard disk, magnetic disk 29, optical disk 31, ROM 24, or RAM 25, including an operating system 35, one or more application programs 36, other program modules 37, and program data 38. A user may enter commands and information into computer 20 through input devices such as keyboard 40 and pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are connected to the processing unit 21 through an interface 46 that is coupled to bus 23.

A monitor 47 or other type of display device is also connected to bus 23 via an interface, such as a video adapter 48. In addition to the monitor, personal computers typically include other peripheral output devices (not shown) such as speakers and printers.

Computer 20 can operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 50. Remote computer 50 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer 20. The logical connections depicted in FIG. 2 include a local area network (LAN) 51 and a wide area network (WAN) 52. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.

When used in a LAN networking environment, computer 20 is connected to the local network 51 through a network interface or adapter 156. When used in a WAN networking environment, computer 20 typically includes a modem 54 or other means for establishing communications over the wide area network 52, such as the Internet. Modem 54, which may be internal or external, is connected to bus 23 via interface 46. In a networked environment, program modules depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

FIG. 2 is a block diagram depicting a media system 100 having a television 102 or like monitor device operatively coupled to a set-top box appliance 104. Set-top box 104 can include all or part of personal computer 20. In this example, set-top box 104 is operatively coupled to receive televised information from at least one external broadcast source 106. Set-top box 104 is configured to store MPEG or like forms of received video streams (including audio, and other associated information) to a hard disk and retrieve them whenever required.

In the case of a digital broadcast (e.g., as transmitted over cable/fiber, the Internet, terrestrial, satellite, etc.), the signal is typically broadcast in an MPEG format. Thus, set-top box 104 need only store all or part of the received signal. In the case of an analog broadcast, set-top box 104 encodes the received signal as an MPEG signal or other like signal, thereby converting the analog signal to a corresponding digital signal. It is necessary to have the televised signal in a digital form so that it can be stored to disk. The MPEG format (or other like format) is preferably implemented to provide the requisite compression based on the computational capabilities of the processor and/or the storage capability of the memory and/or storage device/medium.

The ability to record program content in MPEG (or other applicable compressive format) to a hard disk coupled with suitable software provides a potential mechanism for decoupling the viewer's schedule from the broadcaster's schedule.

A TV viewing system, for example, typically has an Electronic Program Guide (EPG) database that identifies what programs are on each TV channel and at what times. Many EPGs also include information about the program content, such as, e.g., title, hosts, stars, guests, synopsis, summary, producer, director, photographer, cinematographer, author, writer, date/time, rating, etc. In accordance with certain implementations, viewers are able to manually search through a user-displayed grid of TV programs and to select candidate programs that are to be recorded for subsequent viewing. This capability is similar to that provided by TiVo and other like devices.

The exemplary improved methods and arrangements provided herein, however, provide several additional capabilities for the viewer. One of the problems with TiVo is that many external broadcasters provide an overabundance of channels and it may take a viewer a great deal of time to search through the EPG, a printed channel guide, etc., to determine what programs to record. A relatively unsophisticated method is also provided to get the system to record additional programs of interest for the viewer, but this clearly does not match the more sophisticated exemplary content buffering schemes presented herein.

Rather than the viewer having to search through the EPG, it would be more convenient to have an intelligent media system or set-top box that automatically suggests several interesting programs/channels, all of which may be of keen interest to the viewer. Set-top box 104 can be configured this way. Consequently, a selected subset of selectable programs/channels is automatically presented to the viewer, for example, using an on-screen display capability.

FIG. 3 is an illustrative block diagram further depicting certain devices/functions associated with set-top box 104. As depicted, set-top box 104 receives broadcast signals from one or more external broadcast sources 106(a-1). Here, for example, 106(a) includes an analog terrestrial broadcast source, 106(b) includes a (digital or analog) cable/fiber broadcast source, 106(c) includes a digital terrestrial broadcast source, 106(d) includes a telecommunications line broadcasting source, 106(e) includes a local transmitting source, 106(f) includes a satellite transmitting source, 106(g) includes a video optical disc source, 106(h) includes a video tape source, 106(i) includes a video camera source, 106(j) includes a digital camera source, 106(k) includes an audio optical source, and 106(l) includes a still image source.

The broadcast signals are selectively identified as being candidate programs by an intelligent content agent 108 and using an EPG database 112. Other semi-automatic mechanisms such as an EPG bubbling agent 110 can also be used.

Intelligent content agent 108 is configured to confidentially keep track of the types of programs that a particular viewer watches. This information is maintained in a corresponding viewer profile 114. The information in viewer profile 114 is then used to identify candidate programs, for example, based on similarities in program content entries of EPG database 112.

By way of example, let us assume that the viewer instructs the intelligent content agent 108, for example, through an on-screen user interface and remote control mechanism, that he/she is interested in any televised programs identifiably associated with the actress Ms. Julia Roberts. Given this task, intelligent content agent 108 will monitor information in EPG database 112 for future programs having something to do with Ms. Roberts. Thus, for example, if Ms. Roberts were to appear as a guest on the next episode of the Late Show With David Letterman, then intelligent content agent 108 would automatically identify the next episode of the Late Show With David Letterman as a candidate program for recording. Similarly, a motion picture starring Ms. Roberts would also be identified as a candidate program for recording as might also a multimedia broadcast having content about Ms. Roberts. At a later stage, the viewer may further modify intelligent content agent 108 by identifying that he/she is only interested in motion pictures starring Ms. Roberts and not guest appearances on talk shows or other multimedia presentations. For example, the viewer may specify a minimum time period for candidate programs that, in essence, excludes talk shows and the like. Conversely, a maximum time period may also be used to exclude motion pictures.

In still other implementations, the viewer may configure intelligent content agent 108 to expressly include or exclude certain channels and/or certain programs by any identifiable characteristic (content) that can be found in the EPG database. Preferably, intelligent content agent 108 maintains the selection criteria associated with a viewer in a secure manner. For example, the selection criteria can be maintained in an encrypted viewer profile stored on a disk drive or on a smart card or like device that operatively interfaces with the set-top box 104 and/or media system 100.

Bubbling agent 110 is another form of an intelligence that can be provided within set-top box 108. Bubbling agent 110 is configured to modify a viewer's profile information and identify candidate programs for recording by observing how the viewer responds to recorded programs. Thus, for example, bubbling agent 110 can monitor the content of recorded programs and look for patterns or similarities that point towards potential candidate selection criteria for future programming. In the previous examples, therefore, bubbling agent 110 may recognize that the viewer has never replayed or archived a recorded program of the Late Show With David Letterman with or without Ms. Roberts as a guest. This being the case, then bubbling agent 110 may decide to modify the viewer's profile accordingly to expressly exclude future broadcasts of the Late Show With David Letterman.

The reverse is also possible, in that bubbling agent 110 may recognize that a viewer appears to like watching Major League Baseball games, for example. In this case, bubbling agent 110 may add selection criteria to the viewer's profile that causes intelligent content agent 108 to select Major League Baseball games as candidate programs for recording in the future.

In addition to EPG database 112 and viewer profile 114, intelligent content agent 108 and/or bubbling agent 110 may also access a select library list 116 that includes identifiable characteristics associated with recorded programs that have been recorded in the past. Thus, for example, bubbling agent 110 may examine information in select library list 116 for program similarities, viewer watching patterns, etc.

Those skilled in the art will recognize that EPG 112 can be provided to set-top box 108 through a variety of communication channels. For example, EPG 112 may be broadcast along with cable television services, terrestrial broadcasting services, satellite services, telecommunication services, network provider services, etc.

Referring once again to FIG. 3, set-top box 104 further includes a time-dependent content buffer arrangement 118. Content buffer arrangement 118 is configured to substantially function as a FIFO content buffer that includes candidate information 120 about candidate programs for recording, one or more recorded program information 122, currently playing program information 124, and previously played program information 126. Content buffer 118 is operatively responsive to a viewer interface 128. Content buffer 118 is also operatively configured to selectively output information to viewer interface 128, television 102 (or other like device), and an on-line library 130.

In accordance with certain implementations, content buffer 118 is a FIFO (First In First Out) buffer that is essentially a shift register, in this case for content items. Thus, as time advances, the content items within content buffer 118 also advance and eventually pass through the pipe as graphically depicted in FIG. 3.

Information identifying candidate programs for recording is “loaded” into the top of content buffer 120. This can be via manual means, i.e., using viewer interface 128, the viewer clicks (e.g., using a mouse, a remote control, etc.) on a program in EPG database 112 thereby requesting that the program be recorded. More likely, however, programs will be identified as candidates for recording automatically, as described above.

Based on candidate information 120, when a candidate program to be recorded is broadcast it will be recorded. The resulting recorded content is included in recorded program information 122. Viewer interface 128 is configured to present the viewer with a listing of recorded programs within recorded program information 122 that have not been viewed.

If the viewer does nothing, then the programs will be played back in the order in which they were recorded when the media system was turned on and in a sequencer content buffer mode. After a program has been watched by the viewer, the program's contents are moved into previously played program information 126. Eventually, if the user does nothing, the program content in previously played program information 126 will be automatically erased (or otherwise overwritten) to provide disk space for recording more recent candidate programs.

Since, in this example, content buffer 120 is a FIFO by default information is moved through the content “pipe” in a linear fashion. Consequently, media system 100 can be used in a default manner to automatically keep a viewer supplied with a constant stream of programs that more closely match their preferences.

Moreover, intelligent agent 108 and bubbling agent 110 may utilize a feedback mechanism such as a viewer profile 114 or library list 116 to refine the candidate program selection process or moderate the recording of programs. For example, the feedback mechanism may be based on how quickly content in recorded program information 122 is watched by the viewer. If the content is being watched quickly then intelligent content agent 108 may not be as selective about which programs it selects as candidate programs to record.

In certain implementations, the viewer is allowed to proactively and/or dynamically manage the contents of content buffer 118 and viewer profile 114. Through viewer interface 128, for example, the viewer can choose to selectively edit a list of candidate programs to be recorded. This is especially useful in the beginning when many of the programs automatically selected by intelligent content agent 108 may not actually be of interest to the viewer. Intelligent content agent 108 can become more refined in its candidate program selection capability after bubbling agent 110 begins to assist, and/or it “learns” the programs that the user keeps deleting, and therefore stops selecting them as candidates.

A more frequent managing function will be for the viewer to examine a list of recorded programs and to select which recorded programs ones to watch. Here, the viewer may decide to discard some of the recorded programs without watching them. Some of the recorded programs may remain recorded program information 122 for a while as the viewer selectively moves other recorded programs in front of them to configure a particular viewing sequence.

In certain implementations, intelligent content agent 108 may automatically delete a recorded program from content buffer 118, even though there is no shortage of storage space therein. For example, intelligent content agent 108 may monitor the closed caption text or like supplemental information associated with a program while its being recorded or after it has been recorded. Thus, in the earlier example of Ms. Roberts appearing on the Late Show With David Letterman, intelligent content agent 108 may be configured to monitor the closed caption text for certain terms. Hence, for example, should Ms. Roberts or Mr. Letterman fail to mention “Major League Baseball” during the program then intelligent content agent 108 may decide to delete the recorded program entirely. Similarly, intelligent content agent 108 may be configured to automatically select a particular program/channel as a candidate program for recording and monitor a separate audio program for English translation (e.g., using textual outputs from an applicable English language voice recognition application). If the recorded program/channel does not include English text, then the recorded program/channel may be automatically deleted.

In the exemplary media system 100 as depicted in FIG. 3, the viewer may choose to have a particular recorded program archived in library 130. Programs in library 130 are not deleted from hard disk unless the viewer specifically decides to delete them. In practice, it is expected however that the viewer will need to do some clean-up/deleting for disk space usage reasons, but at least the viewer has fill control of the process. Archiving is accomplished through viewer interface 128.

In this manner, with regard to program content a single hard disk has two different portions. The first portion includes a time-dependent content buffer 118 and the second portion includes a permanent storage library 130.

In certain implementations, recorded content in content buffer 118 can be moved quickly/dynamically to library 130 by the viewer. For example, when watching a recorded program, i.e., when media system 100 is in the sequencer mode, the viewer can initiate a ‘Record’ mechanism control that causes the recorded program to be archived to library 130. It is also possible to archive a recorded program from previously played program information 126 to library 130, assuming of course that the recorded program has not yet been erased to free up disk space.

Archived programs in library 130 can be further transferred to an offline library 132, e.g., a conventional removable recording media, such as, a digital or analog VHS/S-VHS, optical disc, DAT, etc.

Although some preferred embodiments of the various methods and arrangements of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the exemplary embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims. 

1. A method comprising: adding program-related information associated with plural programs to a time-dependent buffer arrangement based on selection performed by a selection mechanism; and modifying a degree of selectivity exhibited by the selection mechanism depending on how quickly a consumer consumes the programs.
 2. The method as recited in claim 1, wherein, as the consumer consumes programs more quickly, the selection mechanism becomes less selective about the program-related information that the selection mechanism adds to the time-dependent buffer arrangement.
 3. The method as recited in claim 1, wherein the selection mechanism selects program-related information to add to the time-dependent buffer arrangement based on scanning electronic program guide information to identify programs that satisfy selection criteria.
 4. The method as recited in claim 1, wherein an order of the program-related information in the time-dependent buffer arrangement defines a temporal order in which the programs are presented to the consumer.
 5. The method as recited in claim 4, wherein the program-related information in the time-dependent buffer arrangement is modified in response to input from the consumer.
 6. The method as recited in claim 1, wherein the program-related information passes through the time-dependent buffer arrangement in the manner of a shift register.
 7. The method as recited in claim 6, further comprising identifying, using the time-dependent buffer arrangement, a status of the program-related information with respect to whether corresponding programs have been: (a) selected but not yet recorded; (b) recorded but not yet consumed; and (c) consumed.
 8. A computer-readable medium having computer-executable instructions for performing the method of claim
 1. 9. An arrangement comprising: a selection mechanism configured to select programs; and a time-dependent content buffer mechanism operatively coupled to the selection mechanism and configured to store program-related information based on selection performed by the selection mechanism, wherein a degree of selectivity exhibited by the selection mechanism depends on how quickly a consumer consumes the programs.
 10. The arrangement as recited in claim 9, wherein, as the consumer consumes programs more quickly, the selection mechanism is configured to become less selective about the program-related information that the selection mechanism adds to the time-dependent buffer mechanism.
 11. The arrangement as recited in claim 9, wherein the selection mechanism is configured to select program-related information to add to the time-dependent buffer mechanism based on scanning electronic program guide information to identify programs that satisfy selection criteria.
 12. The arrangement as recited in claim 9, wherein an order of the program-related information in the time-dependent buffer mechanism defines a temporal order in which the programs are presented to a consumer.
 13. The arrangement as recited in claim 12, further comprising a consumer modification mechanism which is configured to allow the consumer to modify the order of the program-related information in the time-dependent buffer mechanism.
 14. The arrangement as recited in claim 9, wherein the arrangement is configured such that program-related information passes through the time-dependent buffer mechanism in the manner of a shift register.
 15. The arrangement as recited in claim 14, wherein the arrangement is configured to identify, using the time-dependent buffer mechanism, a status of the program-related information with respect to whether corresponding programs have been: (a) selected but not yet recorded; (b) recorded but not yet consumed; and (c) consumed.
 16. An arrangement comprising: a time-dependent storing means for storing program-related information associated with plural programs; a selection means for adding program-related information associated with the plural programs to the time-dependent storing means based on selection performed by a selection process; consuming means for consuming programs from the time-dependent buffer mechanism; and feedback means for modifying a degree of selectivity exhibited by the selection process depending on how quickly a consumer consumes the programs.
 17. The arrangement as recited in claim 16, wherein, as the consumer consumes programs more quickly, the feedback means modifies the selection process so that the process becomes less selective.
 18. The arrangement as recited in claim 16, wherein the selection means selects program-related information to add to the time-dependent storing means based on scanning electronic program guide information to identify programs that satisfy selection criteria.
 19. The arrangement as recited in claim 16, wherein program-related information passes through the time-dependent storing means in the manner of a shift register.
 20. A computer-readable medium having computer-executable instructions for implementing each of the means of claim
 16. 